#define _CRT_SECURE_NO_WARNINGS 1
//#include<bits/stdc++.h>
//
//using namespace std;
////http://www.oj7.cn/
//int arr[9000000];
//int n, m;
//int l, r, k;
//int ans[9000000];
//int num;
//int aa;
//int cheak1(int l, int r)
//{
//    num = 1;
//
//    for (int i = l; i <= r; i++)
//    {
//        if (l == r)
//        {
//            aa = 1;
//            return r;
//        }
//        if (arr[i] == arr[i + 1])
//        {
//            num++;
//        }
//        if (arr[i] != arr[i + 1])
//        {
//            aa = num;
//            return i;
//        }
//    }
//}
//int cheak(int l, int r)
//{
//    num = 1;
//    for (int i = l; i <= r; i++)
//    {
//        if (l == r)
//        {
//            ans[1]++;
//            return r;
//        }
//        if (arr[i] == arr[i + 1])
//        {
//            num++;
//        }
//        if (arr[i] != arr[i + 1])
//        {
//            ans[num]++;
//            return i;
//        }
//    }
//}
//int main()
//{
//    cin >> n >> m;
//    for (int i = 1; i <= n; i++)
//    {
//        cin >> arr[i];
//    }
//    for (int i = 0; i < m; i++)
//    {
//        int sun = 0;
//        cin >> l >> r >> k;
//        memset(ans, 0, sizeof(ans));
//        sort(arr + l, arr + r);
//        for (int j = l; j <= r; j++)
//        {
//            j = cheak(j, r);
//        }
//        for (int i = 1; i <= 9000000; i++)
//        {
//            int t = sun;
//            sun += ans[i];
//            if (sun >= k)
//            {
//                for (int z = l; z <= r; z++)
//                {
//                    int tt = z;
//                    aa = -1;
//                    z = cheak1(z, r);
//                    if (aa == i)
//                    {
//                        cout << arr[tt] << endl;
//                        break;
//                    }
//                }
//                break;
//            }
//
//        }
//    }
//    return 0;
//}
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
const int N = 1e5 + 10;
int n, m; int a[N], cnt[N], cntv[N];
int main() {
	cin >> n >> m;  
	for (int i = 1; i <= n; i++)
	{
		cin >> a[i];    
		cnt[a[i]]++;
	}
	int k = unique(a + 1, a + n + 1) - a - 1;
	for (int i = 1; i <= k; i++)
	{ cntv[cnt[i]]++; }
	int ans = 0;   
	for (int i = 1; i <= k; i++)
	{
		if (cntv[i]) {
			ans++;       
			if (ans == m)
			{
				for (int j = 1; j <= n; j++)
				{
					if (a[j] <= i && cnt[a[j]] == i)
					{
						cout << a[j] << endl;
						break;
					}
				}
				break;
			}
		}
	}
	return 0;
}